package com.css.fxfzypg.modules.resultupload.repository;

import com.css.fxfzypg.modules.resultManagement.reportManagement.VO.ResultMainEntityVOV2;
import com.css.fxfzypg.modules.resultupload.repository.entity.ResultDetailsEntity;
import com.css.fxfzypg.modules.resultupload.repository.entity.ResultMainEntity;
import com.css.fxfzypg.modules.resultupload.vo.ResultMainEntityVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: fxfzypg
 * @Author: lhl
 * @CreateDate: 2022/11/3 9:20
 */
public interface ResultTotalRepository {
    int saveResultTotal(ResultMainEntity entity);

    List<ResultMainEntity> getResultTotalByTaskId(String taskId, String dataSource);

    int updateResultTotal(ResultMainEntity entity);

    int delResultTotalByTaskId(String taskId, String dataSource);

    int saveResultDetailsEntity(ResultDetailsEntity entity);

    List<ResultDetailsEntity> getResultDetailsEntityByTaskId(String taskId, String dataSource);

    int updateResultDetailsEntity(ResultDetailsEntity entity);

    int delResultDetailsEntityByTaskId(String taskId, String dataSource);

    ResultDetailsEntity getResultDetailsEntity(String taskId,int faultNum, BigDecimal earthquakeLevel,int angle);

    List<ResultDetailsEntity> getResultDetailsEntityByTaskId(String taskId);

    Map<String,Object> getResultTotalByTaskId(String taskId, Integer curPage, Integer pageSize);

    List<ResultMainEntity> getAllByTaskId(String taskId);

    List<ResultMainEntity> getResultTotalByTaskId(String taskId);

    List<ResultMainEntity> getResultTotalByTaskId(List<String> taskIdList);

    List<ResultMainEntityVO> getResultTotalForReportByTaskId(String taskId);

    List<ResultMainEntityVO> getResultTotalVOByTaskId(String taskId);

    List<ResultMainEntity> getResultTotalForReportMainByTaskId(String taskId);

    List<ResultMainEntity> getResultTotalForReportMainByTaskId(List<String> taskIdList);

    List<ResultMainEntityVO> getResultTotalForReport(String taskId, String province, String city);

    List<ResultMainEntityVO> getResultTotalForReport(List<String> taskIdList, String province, String city);

    List<ResultMainEntityVO> getResultTotalVO(String taskId,String province,String city, String county);

    List<ResultMainEntityVO> getResultTotalVO(List<String> taskIdList,String province,String city, String county);

    ResultMainEntity findByTaskIdLimit(String taskId);

    List<ResultMainEntity> exportExcel(String taskId);

    void saveRange(String range, String taskId);

    void deleteRange(String taskId);

    String getRangeByTaskId(String taskId);
}
